home *** CD-ROM | disk | FTP | other *** search
/ Programming Languages Suite / ProgLangD.iso / BORLAND TURBO / OCFINC.PAK / OCOBJECT.H < prev    next >
C/C++ Source or Header  |  1997-05-06  |  4KB  |  202 lines

  1. //----------------------------------------------------------------------------
  2. // ObjectComponents
  3. // Copyright (c) 1994, 1997 by Borland International, All Rights Reserved
  4. //
  5. // $Revision:   2.10  $
  6. //
  7. // Various general OC enums and structs
  8. //----------------------------------------------------------------------------
  9. #if !defined(OCF_OCOBJECT_H)
  10. #define OCF_OCOBJECT_H
  11.  
  12. #if !defined(OCF_DEFS_H)
  13. # include <ocf/defs.h>
  14. #endif
  15. #if !defined(OCF_OLEUTIL_H)
  16. # include <ocf/oleutil.h>
  17. #endif
  18. #if !defined(OCF_OCREG_H)
  19. # include <ocf/ocreg.h>
  20. #endif
  21.  
  22. #if defined(BI_NAMESPACE)
  23. namespace OCF {
  24. #endif
  25.  
  26. class _ICLASS IBContainer; // forward references
  27. class TOcVerb;
  28.  
  29. enum TOcDialogHelp {
  30.   dhBrowse,
  31.   dhBrowseClipboard,
  32.   dhConvert,
  33.   dhBrowseLinks,
  34.   dhChangeIcon,
  35.   dhFileOpen,
  36.   dhSourceSet,
  37.   dhIconFileOpen,
  38.   dhBrowseControl
  39. };
  40.  
  41. enum TOcDropAction {
  42.   daDropNone = 0,
  43.   daDropCopy = 1,
  44.   daDropMove = 2,
  45.   daDropLink = 4
  46. };
  47.  
  48. enum TOcMouseAction {
  49.   maEnter     = 1,
  50.   maContained = 2,
  51.   maExit      = 3
  52. };
  53.  
  54. enum TOcScrollDir {
  55.   sdScrollUp    = 1,
  56.   sdScrollDown  = 2,
  57.   sdScrollLeft  = 4,
  58.   sdScrollRight = 8
  59. };
  60.  
  61. enum TOcInvalidate {
  62.   invData = 1,
  63.   invView = 2
  64. };
  65.  
  66. enum TOcAspect {
  67.   asContent   = 1,
  68.   asThumbnail = 2,
  69.   asIcon      = 4,
  70.   asDocPrint  = 8,
  71.   asDefault   = 16,
  72.   asMaintain  = 32,
  73.   asClip      = 64
  74. };
  75.  
  76. struct far TOcScaleInfo {
  77.   ulong  xN;      // numerator in x direction
  78.   ulong  xD;      // denominator in x direction
  79.   ulong  yN;      // numerator in y direction
  80.   ulong  yD;      // denominator in y direction
  81. };
  82.  
  83. enum TOcDraw {
  84.   drNone        = 0,
  85.   drShadingOnly = 1,
  86.   drShowObjects = 2
  87. };
  88.  
  89. enum TOcPartName {
  90.   pnLong  = 1,
  91.   pnShort = 2,
  92.   pnApp   = 3
  93. };
  94.  
  95. enum TOcInitHow {
  96.   ihLink,
  97.   ihEmbed,
  98.   ihMetafile,
  99.   ihBitmap,
  100. };
  101.  
  102. enum TOcInitWhere {
  103.   iwFile,
  104.   iwStorage,
  105.   iwDataObject,
  106.   iwNew,
  107.   iwHandle,
  108.   iwNewOcx
  109. };
  110.  
  111. class TOcInitInfo {
  112.   public:
  113.     TOcInitInfo(IBContainer far* container);
  114.     TOcInitInfo(TOcInitHow how, TOcInitWhere where, IBContainer far* container);
  115.  
  116.     uint32 ReleaseDataObject() {
  117.       return ((Where==iwDataObject) && Data) ? ((IUnknown*)Data)->Release() : 0;
  118.     }
  119.  
  120.   private:
  121.   public:
  122.     TOcInitHow       How;
  123.     TOcInitWhere     Where;
  124.     IBContainer far* Container;
  125.     HICON            HIcon;
  126.     IStorage far*    Storage;
  127.     union {
  128.       LPCOLESTR    Path;      // where == iwFile
  129.       IDataObject* Data;      // where == iwDataObject
  130.       uint32       CId;       // where == iwNew, iwNewOcx
  131.       struct {                // where == iwHandle
  132.         HANDLE       Data;
  133.         uint         DataFormat;
  134.       } Handle;
  135.     };
  136. };
  137.  
  138. struct TOcMenuWidths {
  139.   long   Width[6];
  140. };
  141.  
  142. struct TOcMenuDescr {
  143.   HMENU  HMenu;
  144.   int    Width[6];
  145. };
  146.  
  147. enum TOcMenuEnable {
  148.   meEnablePaste           = 1,
  149.   meEnablePasteLink       = 2,
  150.   meEnableBrowseClipboard = 4,
  151.   meEnableBrowseLinks     = 8,
  152. };
  153.  
  154. enum TOcHelp {
  155.   hlpExit,
  156.   hlpEnter,
  157.   hlpGet
  158. };
  159.  
  160. enum TOcConvertAction {
  161.   caConvertToClsid  = 1,
  162.   caConvertToFormat = 2,
  163.   caActivateAsClsid = 4,
  164.   caAspectToIcon    = 8,
  165.   caAspectToContent = 16
  166. };
  167.  
  168. struct far TOcConvertInfo {
  169.   TOcConvertAction Action;
  170.   union {
  171.     struct {
  172.       CLSID Current;
  173.       CLSID New;
  174.     } Clsid;
  175.     struct {
  176.       uint ClipFormat;
  177.     } Format;
  178.     struct {
  179.       HICON hIcon;
  180.     } SwitchToIcon;
  181.   };
  182. };
  183.  
  184. enum TOcLinkUpdate {
  185.   luUpdateAuto   = 1,
  186.   luUpdateManual = 3
  187. };
  188.  
  189. struct TOcFormatInfo {
  190.   uint      Id;
  191.   OLECHAR   Name[32];
  192.   OLECHAR   ResultName[32];
  193.   ocrMedium Medium;              // BOleMedium
  194.   BOOL      IsLinkable;
  195. };
  196.  
  197. #if defined(BI_NAMESPACE)
  198. } // namespace OCF
  199. #endif
  200.  
  201. #endif  // OCF_OCOBJECT_H
  202.